Robust carrier phase and frequency tracking for m-qam demodulation

ABSTRACT

A method for determining coarse carrier phase and frequency offsets of an initial block of received M-QAM symbols includes creating a grid of discrete candidate phase offset values and for each candidate value: applying the candidate value to each symbol, applying a respective hard decision to each applied symbol, and computing a figure of merit based thereon. The candidate value having the best figure of merit is selected as an initial phase offset estimate. An initial frequency offset estimate is computed using the symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function. To track carrier phase and frequency offsets associated with a series of symbol blocks, for each symbol of a current block, set a binary trust weight based on comparison of a computed parameter with a threshold and use the binary trust weights to compute a phase offset error and a frequency offset error for the current block.

BACKGROUND

For reliable reception of transmitted data in digital communication systems using quadrature amplitude modulation (QAM) schemes, one of the critical signal processing blocks is an accurate carrier frequency offset estimator and tracker. Failure to either accurately provide a good initial estimate of carrier phase and/or frequency offset or to track slowly varying phase and/or frequency offset results in poor fidelity of receiving the transmitted bits. While many phase-locked loop (PLL) based and Kalman filter-based phase/frequency offset estimation and tracking algorithms have been proposed, they are typically highly sensitive to random noise and other sources of distortion.

BRIEF SUMMARY

Embodiments are described in which carrier phase offset and frequency offset estimation and tracking (e.g., Kalman filter-based) with initial state search and hard-decision trust algorithms for M-QAM modulated signals are employed.

In one aspect the present invention provides a method for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map. The method includes creating a grid of discrete candidate phase offset values. The method also includes, for each candidate phase offset value in the grid: applying the candidate phase offset value to each of the M-QAM symbols, applying a respective hard decision from the symbol map to each of the candidate phase offset value-applied M-QAM symbols, and computing a figure of merit for the candidate phase offset value based on the candidate phase offset value-applied M-QAM symbols and their respective hard decisions. The method also includes selecting the discrete candidate phase offset value from the grid having the best figure of merit as an initial phase offset estimate. The method also includes computing an initial frequency offset estimate using the M-QAM symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function.

In another aspect the present invention provides a method for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map. The method includes, for each M-QAM symbol of a current block, setting a binary trust weight for the M-QAM symbol based on comparison of a computed parameter with a threshold. The method also includes using the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block. Each of the M-QAM symbols having a zero-valued binary trust weight is non-contributory in the computation of the phase and frequency offset errors.

In yet another aspect the present invention provides a non-transitory computer-readable medium having instructions stored thereon that when executed by a processor, cause the processor to perform operations of a method. The method is for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map. The operations include creating a grid of discrete candidate phase offset values. The operations also include, for each candidate phase offset value in the grid: applying the candidate phase offset value to each of the M-QAM symbols, applying a respective hard decision from the symbol map to each of the candidate phase offset value-applied M-QAM symbols, and computing a figure of merit for the candidate phase offset value based on the candidate phase offset value-applied M-QAM symbols and their respective hard decisions. The operations also include selecting the discrete candidate phase offset value from the grid having the best figure of merit as an initial phase offset estimate. The operations also include computing an initial frequency offset estimate using the M-QAM symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function. Or, the method is for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map. The operations include for each M-QAM symbol of a current block, setting a binary trust weight for the M-QAM symbol based on comparison of a computed parameter with a threshold. The operations also include using the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block. Each of the M-QAM symbols having a zero-valued binary trust weight is non-contributory in the computation of the phase and frequency offset errors.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating carrier phase offset for each symbol in each received block of symbols.

FIG. 2 is a diagram illustrating carrier phase offset for each symbol in each received block of symbols with overlapping parameter V equal 2.

FIGS. 3A, 3B and 3C, referred to collectively as FIG. 3, are constellation diagrams illustrating examples of an upper limit of phase offset for correct hard decision for 16-QAM symbols.

FIG. 4 is a flow diagram illustrating different stages of a carrier recovery method suitable for use in a radio frequency (RF) device.

FIG. 5 is a flow diagram illustrating steps involved in Kalman filter-based carrier phase and frequency offset tracking.

FIG. 6 is a block diagram illustrating estimation of phase and frequency offsets of the zeroth block of received symbols.

FIG. 7 is a graph illustrating a comparison of approximation error of the complex exponential when using the coefficients produced by the described cubic polynomial approximation embodiments versus using the conventional quadratic and third order Taylor series approximations.

FIGS. 8A, 8B and 8C, referred to collectively as FIG. 8, are diagrams illustrating phase offset search space discretization in the zeroth block of received QAM symbols and zero error and maximum error scenarios.

FIG. 9 is a block diagram of an example embodiment for electronic components that can be used to implement a user equipment device or base station including the functions and operational features described for performing carrier phase and frequency tracking for M-QAM demodulation.

FIG. 10 is a flowchart illustrating a method for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M-QAM symbol map.

FIG. 11 is a flow diagram illustrating a flowchart illustrating a method for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M-QAM symbol map.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Generally, the success of a phase/frequency offset tracker is contingent upon having a good initial estimate of the carrier phase offset and frequency offset of the received signal. A poor initial estimate, as seen in many conventional solutions, typically results in complete failure of the phase/frequency offset tracking algorithms. Embodiments are described of an initial phase/frequency offset estimation method that ensures the tracking algorithms following the initial state estimator work reliably even under noisy conditions. This is achieved by performing a suitable grid search for initial phase estimation that ensures that most hard decisions on the symbols in the first block are correct.

Additionally, the carrier phase/frequency offset tracking algorithm of the described embodiments is much more robust against random noise in the received QAM modulated signal. The phase tracker achieves the robustness by incorporating a binary trust-factor of either 0 or 1 for each received symbol in the block of QAM symbols being used for estimating the updated value of the carrier phase offset and frequency offset.

For efficient computation of closed form solutions of the phase/frequency offset parameters, a complex exponential function is approximated as a cubic polynomial for a domain that is restricted to a set of pre-determined values determined by the M-QAM scheme which depends on the maximum supported carrier frequency offset for the M-QAM symbol map. The maximum supported carrier frequency offset for the M-QAM symbol map is dependent upon the number of symbols in a block. Embodiments use a cubic approximation of the complex exponential by restricting the domain of the complex exponential to pre-determined values based on the maximum supported carrier frequency offset for a given modulation scheme. The approach to cubic approximation by exploiting the knowledge of the supported domain of the approximated function results in a much lower approximation error than, for example, using a third order Taylor series approximation (see FIG. 7). The derivative of the resultant cubic is a quadratic that has an efficient closed form solution, as described in more detail below, e.g., with respect to Derivation 2.

To aid the in the description of the embodiments described herein, a signal model will now be developed that is similar to the formulation by Takashi Inoue and Shu Namiki, “Carrier recovery for M-QAM signals based on a block estimation process with Kalman filter.” Optics express 22.13 (2014): 15376-15387.

Let the received symbols be modeled per equation (1) (ignoring noise and other distortion).

r _(k,n) =s _(k,n) exp jϕ _(k,n)  (1)

In equation (1), r_(k,n) is the n^(th) received symbol in the k^(th) block, where n∈[−L, L], and the number of symbols in a block is 2L+1; s_(k,n) is the corresponding transmitted clean symbol; and ϕ_(k,n) is the phase rotation in the received symbol, relative to the ideal position of the symbol. In the present disclosure, generally when expressing ranges of numbers, the notation [A, B] denotes the set of all numbers between A and B, including A and B as well; (A, B] denotes the set of all numbers between A and B, excluding A but including B; [A, B) denotes the set of all numbers between A and B, including A but excluding B; and (A, B) denotes the set of all numbers between A and B, excluding A and B.] Equation (2) expresses the phase rotation in the received symbol. In the present disclosure, the units of phase, θ, and frequency, ω, terms, when used as a part of the argument of a complex exponential have units of radian and radians per symbol, respectively, unless otherwise specified.

ϕ_(k,n)=θ_(k) +nω _(k) ;n∈[−L,L]  (2)

K+1 is the total number of blocks. FIG. 1 is a diagram illustrating carrier phase offset for each symbol in each received block of symbols. In FIG. 1, L=2, and a block of symbols consists of 2L+1=5 QAM symbols. The symbols are grouped into blocks, denoted 1^(st) Block, 2^(nd) Block through k^(th) Block. FIG. 1 shows an example of carrier phase for each received symbol.

Assume that from one block to the next, the phase offset θ_(k) and frequency offset ω_(k) associated with the block k evolves according to equation (3A):

$\begin{matrix} {\begin{bmatrix} \theta_{k + 1} \\ \omega_{k + 1} \end{bmatrix} = {{\begin{bmatrix} 1 & {{2L} + 1} \\ 0 & 1 \end{bmatrix}\begin{bmatrix} \theta_{k} \\ \omega_{k} \end{bmatrix}} + \begin{bmatrix} 0 \\ n_{f} \end{bmatrix}}} & \left( {3A} \right) \end{matrix}$

where n_(f) is random phase noise and models slow variation of frequency offset over received blocks of symbols.

Equivalently, in terms of matrix variables, the state evolves according to equation (3B):

$\begin{matrix} {{x_{k + 1} = {{Fx_{k}} + n_{S}}}{where}} & \left( {3B} \right) \\ {{x_{k}\overset{\bigtriangleup}{=}\begin{bmatrix} \theta_{k} \\ \omega_{k} \end{bmatrix}},} & \left( {3C} \right) \\ {{F\overset{\bigtriangleup}{=}\begin{bmatrix} 1 & {{2L} + 1} \\ 0 & 1 \end{bmatrix}},{and}} & \left( {3D} \right) \\ {n_{s} = {\begin{bmatrix} 0 \\ n_{f} \end{bmatrix}.}} & \left( {3E} \right) \end{matrix}$

The state evolution model in equation (3) assumes that blocks are non-overlapping. For tracking fast changes in the phase-frequency offset state, the evolution model can be changed as according to equation (4A):

$\begin{matrix} {{\begin{bmatrix} \theta_{k + 1} \\ \omega_{k + 1} \end{bmatrix} = {{\begin{bmatrix} 1 & {{2V} - 1} \\ 0 & 1 \end{bmatrix}\begin{bmatrix} \theta_{k} \\ \omega_{k} \end{bmatrix}} + \begin{bmatrix} 0 \\ n_{f} \end{bmatrix}}};{V \in \left\lbrack {1,{L + 1}} \right\rbrack}} & \left( {4A} \right) \end{matrix}$

Equivalently, in terms of matrix variables, the state evolves according to equation (4B):

x _(k+1) =Fx _(k) +n _(S)  (4B)

where, the matrix F is re-defined according to equation (4C):

$\begin{matrix} {F = \begin{bmatrix} 1 & {{2V} - 1} \\ 0 & 1 \end{bmatrix}} & \left( {4C} \right) \end{matrix}$

The value assigned to V controls the number of overlapping symbols in consecutive blocks. For example, setting V=L+1 means consecutive blocks have no overlap. On the other extreme, V=1 means that L symbols are common between two consecutive blocks. FIG. 2 shows the carrier phase for received symbols grouped in overlapping blocks with L=2 and V=2.

Let the noisy observations of the state vector x_(k) be y_(k) such that:

$\begin{matrix} {{y_{k} = {x_{k} + n_{o}}}{with}} & \left( {5A} \right) \\ {{y_{k} = \begin{bmatrix} {\overset{\sim}{\theta}}_{k} \\ {\overset{\sim}{\omega}}_{k} \end{bmatrix}},{n_{o} = \begin{bmatrix} n_{\theta} \\ n_{\omega} \end{bmatrix}}} & \left( {5B} \right) \end{matrix}$

Referring now to FIGS. 3A, 3B and 3C, referred to collectively as FIG. 3, constellation diagrams illustrating examples of an upper limit of phase offset for correct hard decision for 16-QAM symbols are shown. Embodiments are described herein for a method of tracking the carrier phase and frequency offsets that is decision-directed. Hard decisions on a received symbol for a given M-QAM modulation are only correct if the carrier phase offset for the symbol is less than an upper bound. FIG. 3 illustrates the hard decision for a 16-QAM constellation. FIG. 3A shows a 16-QAM constellation with no phase offset. FIG. 3B shows the constellation rotated by 9 degrees, and hard decisions on these rotated symbols are still correct, as shown. FIG. 3C shows the constellation rotated by 18 degrees, and hard decisions on these symbols are incorrect, as shown. Table 1 lists the maximum tolerated phase offset, or phase rotation, of a QAM symbol for the hard decision to be correct for each of ten different M-QAM constellations, or symbol maps.

TABLE 1 M-QAM θ_(MAX) (degrees) 4 45 8 24 16 17 32 11 64 7.6 128 5.0 512 3.7 1024 2.4 2048 1.2 4096 0.9

Referring now to FIG. 4, a diagram illustrating different stages of a carrier recovery method suitable for use in a radio frequency (RF) device, such as a mobile user equipment device, base station or test instrument, is shown. The first stage 402 estimates a good initial estimate of the carrier phase and frequency offsets. The second stage 404 processes all received symbols in the forward direction. The third stage 406 computes the initial estimates in preparation for processing all the received QAM symbols in reverse chronological order. The last stage 408 processes the QAM symbols in reverse. The reverse processing ensures that any transient hard decision errors potentially manifested in the forward processing step are eliminated, leading to an error-free recovery of all symbols. Each of the stages is described in more detail below.

The first stage 402 processes the 0^(th) block of QAM symbols to obtain a good estimate of the carrier phase and frequency offsets for the block. The first stage 402 is described in pseudocode below as Algorithm 1. The embodiments use a cubic approximation of a complex exponential, as expressed in equation (6),

e ^(−jωn)≈α₀+α₁ ωn+α ₂ω² n ²+α₃ω³ n ³  (6)

by restricting the domain of the complex exponential to pre-determined values based on the maximum supported carrier frequency offset for a given modulation scheme, such as shown in Table 1 above. Table 2 below lists, as an example, values of the polynomial coefficients of the cubic approximation of the complex exponential of equation (6) for different M-QAM constellations with block size of 17, i.e., L=8.

TABLE 2 M- QAM α₀ α₁ α₂ α₃ 4 0.9806 + j0.000   0.000 − j0.9891 −0.4186 + j0.000 0.000 + j0.1453 8 0.9960 + j0.000   0.000 − j0.9977 −0.4624 + j0.000 0.000 + j0.1569 16 0.9994 + j0.000   0.000 − j0.9997 −0.4855 + j0.000 0.000 + j0.1629 32 0.9999 + j0.000  0.000 − j1.000 −0.4945 + j0.000 0.000 + j0.1652 64 1.000 + j0.000 0.000 − j1.000 −0.4975 + j0.000 0.000 + j0.1660 128 1.000 + j0.000 0.000 − j1.000 −0.4989 + j0.000 0.000 + j0.1664 256 1.000 + j0.000 0.000 − j1.000 −0.4994 + j0.000 0.000 + j0.1665 512 1.000 + j0.000 0.000 − j1.000 −0.4997 + j0.000 0.000 + j0.1666 1024 1.000 + j0.000 0.000 − j1.000 −0.4999 + j0.000 0.000 + j0.1666 2048 1.000 + j0.000 0.000 − j1.000 −0.4997 + j0.000 0.000 + j0.1666 4096 1.000 + j0.000 0.000 − j1.000 −0.5000 + j0.000 0.000 + j0.1666

Algorithm 1 performs estimation of phase and frequency offsets of the zeroth block of received symbols and may also be referred to as “Initial Phase and Frequency Offsets Estimation,” where the term “Initial” indicates that the estimated quantities are for the zeroth block of received QAM symbols. Advantageously, Algorithm 1 discretizes candidate phase offset values, as described in more detail below, e.g., with respect to Derivation 1, which may reduce the computational intensity associated with estimating the initial phase and frequency offsets, i.e., the phase and frequency offset estimates for the zeroth block of M-QAM symbols. In the present disclosure, a quantity with a superscript “*” denotes the complex conjugate of a complex number. For example, (2+j1)*=2−j1, where j is equal to √{square root over (−1)}.

ALGORITHM 1 - Initial Phase and Frequency Offsets Estimation Inputs: 1. 0^(th) block of 2L + 1 received noisy M-QAM symbols: r_(0,−L), . . . , r_(0,0), . . . r_(0,+L) 2. Theoretical maximum phase offset range for error free hard decision on a QAM symbol assuming no frequency offset: (−θ_(MAX), θ_(MAX)) 3. Theoretical maximum frequency offset range assuming no phase offset: $\left( {{- \omega_{MAX}},\omega_{MAX}} \right),{{{where}\mspace{14mu} \omega_{MAX}} = \frac{\theta_{MAX}}{L}}$ 4. Actual maximum frequency offset range assuming no phase offset: (−f × ω_(MAX), f × ω_(MAX)) : f ∈ (0, 1). In one embodiment, the value of f is 0.80, although other embodiments are contemplated in which f has a different value. ${{Outputs}\text{:}\mspace{14mu} {Initial}\mspace{14mu} {coarse}\mspace{14mu} {estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}},{x_{0} = \begin{bmatrix} \theta_{0} \\ \omega_{0} \end{bmatrix}}$ BEGIN 1. Search range for initial phase offset estimate for the 0^(th) block: [−45°, 45°). 2. Set phase grid step size: Δθ ∈ (0, 2(1 − f)θ_(MAX)]. 3. Create a grid of candidate phase offset values: θ(i) = −45 + Δθ × i : i ∈ {0, 1, 2, . . . , i_(LAST)}, θ(i) ∈ [−45°, 45°). Compute a figure of merit, g(i), for all candidate phase offset values θ(i) as follows: FOR All i ∈ {0, 1, 2, . . . , i_(LAST)} Apply phase offset −θ(i) to all symbols in the block: r_(0,n)(i) ← r_(0,n)e^(−jθ(i)) : n ∈ [−L, +L] Apply hard decision: H(r_(0,n)) = h_(n)(i) : n ∈ [−L, +L] ${{Compute}\mspace{14mu} {RMS}\mspace{14mu} {error}\mspace{14mu} {metric}\text{:}\mspace{14mu} {g(i)}} = \sqrt{\frac{\sum_{n = {- L}}^{+ L}{{{r_{0,n}(i)} - {h_{n}(i)}}}^{2}}{{2L} + 1}}$ END FOR 4. Coarse initial phase offset estimate is the candidate phase with minimum RMS Error: θ₀ ← θ(l) : g(l) = min {g(i)}_(i=0) ^(i) ^(LAST) . 5. Apply estimated coarse phase offset as r_(0,n) ← r_(0,n)e^(−jθ) ⁰ . Frequency offset estimate is: $\left. \omega_{0}\leftarrow{{- \frac{b}{2a}} - \frac{\sqrt{b^{2} - {4{ac}}}}{2a}} \right.,$ where a

 Re Σ_(n=−L) ^(+L) 3n³ r_(0,n) h_(n) ^(*) α₃, b

 Re Σ_(n=−L) ^(+L) 2n² r_(0,n) h_(n) ^(*) α₂, c

 Re Σ_(n=−L) ^(+L) n r_(0,n) h_(n) ^(*) α₁ $\alpha_{1}\overset{\Delta}{=}{\frac{15}{2}j\; {\omega_{MAX}^{- 2}\left( {{{- 21}\; \omega_{MAX}^{- 3}\sin \; \omega_{MAX}} + {21\; \omega_{MAX}^{- 2}\cos \; \omega_{MAX}} + {8\; \omega_{MAX}^{- 1}\sin \; \omega_{MAX}} - {\cos \; \omega_{MAX}}} \right)}}$ $\alpha_{2}\overset{\Delta}{=}{\frac{15}{2}{\omega_{MAX}^{- 3}\left( {{{- 3}\; \omega_{MAX}^{- 2}\sin \; \omega_{MAX}} + {3\; \omega_{MAX}^{- 1}\cos \; \omega_{MAX}} + {\sin \; \omega_{MAX}}} \right)}}$ $\alpha_{3}\overset{\Delta}{=}{\frac{35}{2}j\; {\omega_{MAX}^{- 4}\left( {{{- 15}\; \omega_{MAX}^{- 3}\sin \; \omega_{MAX}} - {15\; \omega_{MAX}^{- 2}\cos \; \omega_{MAX}} - {6\; \omega_{MAX}^{- 1}\sin \; \omega_{MAX}} + {\cos \; \omega_{MAX}}} \right)}}$ 6. Refine the initial phase offset estimate: θ₀ ← θ₀ + arg(Σ_(n=−L) ^(+L)r_(0,n)h_(n) ^(*)e^(−jω) ⁰ ^(n)). END

FIG. 6 is a block diagram illustrating estimation of phase and frequency offsets of the zeroth block of received symbols substantially as described above with respect to Algorithm 1. As shown, the zeroth block estimation includes determining coarse phase offset estimation (e.g., per steps 1-4 of Algorithm 1), frequency offset estimation (e.g., per step 5 of Algorithm 1), and coarse phase offset estimate refinement (e.g., per step 6 of Algorithm 1).

The second stage 404, forward phase and frequency offset tracking, processes all the blocks of received QAM symbols in chronological order, performing Kalman filter-based carrier phase and frequency offset tracking in the forward direction. The second stage 404 is described in pseudocode below as Algorithm 2. The phase tracker in the second stage 404 incorporates a binary trust-factor of either 0 or 1, for each received symbol in the block of QAM symbols being used for estimating the updated values of the carrier phase and frequency offsets. FIG. 5 illustrates steps involved in Kalman filter-based carrier phase and frequency offset tracking. Steps 502, 504, 506 and 508 of FIG. 5 are described in more detail below with respect to Algorithm 2, and step 512 of FIG. 5 is described in more detail below with respect to Algorithm 4. In the present disclosure, a quantity with a superscript “−”, e.g., θ_(k) ⁻, denotes a quantity predicted from past observations.

ALGORITHM 2 - Forward Phase and Frequency Offset Tracking Inputs: 1. k^(th) block of received noisy QAM symbols: r_(k,−L), . . . , r_(k,0), . . . r_(k,+L) : k ≥ 1 2. ${{Estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}\mspace{14mu} {for}\mspace{14mu} \left( {k - 1} \right)^{th}\mspace{14mu} {block}},{x_{k - 1} = \begin{bmatrix} \theta_{k - 1} \\ \omega_{k - 1} \end{bmatrix}},{which}$ ${{{when}\mspace{14mu} k} = {1\mspace{14mu} {is}\mspace{14mu} {the}\mspace{14mu} {initial}\mspace{14mu} {coarse}\mspace{14mu} {estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}}},{x_{0} = \begin{bmatrix} \theta_{0} \\ \omega_{0} \end{bmatrix}},$ obtained according to Algorithm 1. 3. ${{Covariance}\mspace{14mu} {Matrix}\mspace{14mu} {R.\mspace{14mu} {In}}\mspace{14mu} {one}\mspace{14mu} {embodiment}},{{the}\mspace{14mu} {value}\mspace{14mu} {of}\mspace{14mu} R\mspace{14mu} {{is}\mspace{14mu}\begin{bmatrix} 0.01 & 0 \\ 0 & 0.001 \end{bmatrix}}},{{although}\mspace{14mu} {other}}$ embodiments are contemplated in which R has a different value. 4. Noise covariance matrix for (k − 1)^(th) block, P_(k−1), which when k = 1 is the noise covariance ${{matrix}\mspace{14mu} {for}\mspace{14mu} {the}\mspace{14mu} {first}\mspace{14mu} {block}},{{P_{0}.\mspace{14mu} {In}}\mspace{14mu} {one}\mspace{14mu} {embodiment}},{{the}\mspace{14mu} {value}\mspace{14mu} {of}\mspace{14mu} P_{0}\mspace{14mu} {{is}\mspace{14mu}\begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}}},{{although}\mspace{14mu} {other}}$ embodiments are contemplated in which P₀ has a different value. 5. Hard decision trust threshold, Γ ∈ [−∞, 0]. In one embodiment, the value of Γ is −5 dB, although other embodiments are contemplated in which Γ has a different value. Outputs: 1. Change in phase and frequency offset estimates as relative to (k − 1)^(th) block of symbols: δθ_(k), δω_(k) 2. Updated phase and frequency offset estimates for the k^(th) block of symbols: θ_(k), ω_(k) BEGIN 1. Predict prior estimation of the phase and frequency offsets for k^(th) block (Step 502 of FIG. 5) using estimates for (k − 1)^(th) block as: θ_(k) ⁻ = θ_(k−1) + (2V − 1)ω_(k−1) ω_(k) ⁻ = ω_(k−1) where V ∈ [1, L + 1] controls the amount of overlap in consecutive blocks of symbols. In matrix notation, this can be written as: x_(k) ⁻ = Fx_(k−1) where ${x_{k}^{-}\overset{\Delta}{=}\begin{bmatrix} \theta_{k}^{-} \\ \omega_{k}^{-} \end{bmatrix}},{x_{k - 1}\overset{\Delta}{=}\begin{bmatrix} \theta_{k - 1} \\ \omega_{k - 1} \end{bmatrix}},{F\overset{\Delta}{=}\begin{bmatrix} 1 & {{2V} - 1} \\ 0 & 1 \end{bmatrix}}$ 2. Perform prior correction on the symbols in the k^(th) block (Step 504 of FIG. 5), using the estimated phase and frequency offset values. r_(k,n) ⁻ = r_(k,n) exp −j(θ_(k) ⁻ + nω_(k) ⁻) : n ∈ [−L, L] 3. Set hard decision trust weights (Step 506 of FIG. 5) a. For each symbol in the block, make a hard decision after prior correction: h_(k,n) ⁻ = H(r_(k,n) ⁻). That is, h_(k,n) ⁻ is the ideal symbol on the symbol map closest to r_(k,n) ⁻. b. For each symbol in the block, find the ideal symbol on the symbol map closest to the received symbol other than h_(k,n) ⁻. Denote the found symbol as d_(k,n) ⁻. That is, d_(k,n) ⁻ is the ideal symbol second closest to r_(k,n) ⁻, the closest being h_(k,n) ⁻. ${{c.\mspace{14mu} {Compute}}\mspace{14mu} {the}\mspace{14mu} {ratio}\mspace{14mu} {of}\mspace{14mu} {Euclidian}\mspace{14mu} {distances}\text{:}\mspace{14mu} \gamma_{k,n}} = {\frac{{r_{k,n}^{-} - h_{k,n}^{-}}}{{r_{k,n}^{-} - d_{k,n}^{-}}} \in \left\lbrack {0,1} \right\rbrack}$ d. Compute threshold parameter for all symbols β_(k,n)

 20 log(1 − γ_(k,n)) ∈ [−∞, 0] e. Set binary hard decision trust weights for all symbols $\rho_{k,n} = \left\{ \begin{matrix} {0,} & {\beta_{k,n} < \Gamma} \\ {1,} & {\beta_{k,n} \geq \Gamma} \end{matrix} \right.$ The binary trust weights may advantageously operate to effectively exclude untrusted symbols (i.e., with a trust weight value of zero) that are likely to make future estimates incorrect from the phase and frequency offset error computation and the block noise covariance matrix computation, as may observed below. 4. Compute phase and frequency offset error (Step 506 of FIG. 5) a. Compute frequency offset error $\left. {\delta\omega}_{k}\leftarrow{{- \frac{b}{2a}} - \frac{\sqrt{b^{2} - {4{ac}}}}{2a}} \right.$ where a

 Re Σ_(n=−L) ^(+L) 3n³ ρ_(k,n) r_(k,n) ⁻(h_(k,n) ⁻)^(*) α₃ b

 Re Σ_(n=−L) ^(+L) 2n² ρ_(k,n) r_(k,n) ⁻(h_(k,n) ⁻)^(*) α₂ c

 Re Σ_(n=−L) ^(+L) n ρ_(k,n) r_(k,n) ⁻(h_(k,n) ⁻)^(*) α₁ $\alpha_{1}\overset{\Delta}{=}{\frac{15}{2}j\; {\omega_{MAX}^{- 2}\left( {{{- 21}\; \omega_{MAX}^{- 3}\sin \; \omega_{MAX}} + {21\; \omega_{MAX}^{- 2}\cos \; \omega_{MAX}} + {8\; \omega_{MAX}^{- 1}\sin \; \omega_{MAX}} - {\cos \; \omega_{MAX}}} \right)}}$ $\alpha_{2}\overset{\Delta}{=}{\frac{15}{2}{\omega_{MAX}^{- 3}\left( {{{- 3}\; \omega_{MAX}^{- 2}\sin \; \omega_{MAX}} + {3\; \omega_{MAX}^{- 1}\cos \; \omega_{MAX}} + {\sin \; \omega_{MAX}}} \right)}}$ $\alpha_{3}\overset{\Delta}{=}{\frac{35}{2}j\; {\omega_{MAX}^{- 4}\left( {{{- 15}\; \omega_{MAX}^{- 3}\sin \; \omega_{MAX}} - {15\; \omega_{MAX}^{- 2}\cos \; \omega_{MAX}} - {6\; \omega_{MAX}^{- 1}\sin \; \omega_{MAX}} + {\cos \; \omega_{MAX}}} \right)}}$ b. Compute phase offset error $\left. {\delta\theta}_{k}\leftarrow{\arg \left( {\sum\limits_{n = {- L}}^{+ L}{\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}e^{{- {j{({\delta\omega}_{k})}}}n}}} \right)} \right.$ c. Define error matrix as $e_{k}\overset{\Delta}{=}\begin{bmatrix} {\delta\theta}_{k} \\ {\delta\omega}_{k} \end{bmatrix}$ 5. Compute block noise covariance matrix (Step 508 of FIG. 5) $P_{k} = \begin{bmatrix} \frac{\sum_{n = {- L}}^{L}{\rho_{k,n}{{r_{k,n}^{-} - h_{k,n}^{-}}}^{2}}}{2\; {\sum_{n = {- L}}^{L}{\rho_{k,n}{k_{k,n}^{-}}^{2}}}} & 0 \\ 0 & \frac{\sum_{n = {- L}}^{L}{{r_{k,n}^{-} - h_{k,n}^{-}}}^{2}}{2\left( {{2\; L} + 1} \right){\sum_{n = {- L}}^{L}{\rho_{k,n}{h_{k,n}^{-}}^{2}}}} \end{bmatrix}$ Computation of the block noise covariance matrix in a live manner such as described here may be more reactive when the carrier frequency is deviating significantly over time and therefore perform frequency tracking more effectively than a conventional system that employs a static block noise covariance matrix. 6. Predict block noise covariance matrix, P_(k) ⁻ from P_(k−1) (Step 508 of FIG. 5) P_(k) ⁻ = FP_(k−1)F^(T) 7. Compute Kalman Gain matrix (Step 508 of FIG. 5) G_(k) = P_(k) ⁻(P_(k) ⁻ + R)⁻¹ 8. Perform posterior estimation of the phase and frequency offsets for the k^(th) block (Step 508 of FIG. 5): x_(k) ← x_(k) ⁻ + G_(k)e_(k) END

The third stage 406, pre-processing for reverse phase and frequency offset tracking, processes the symbols for reverse tracking. The third stage 406 is described in pseudocode below as Algorithm 3.

ALGORITHM 3 - Pre-processing for Reverse Phase and Frequency Offset Tracking Inputs: 1. k^(th) block of received noisy QAM symbols: r_(k,−L), . . . , r_(k,0), . . . r_(k,+L) : k ≥ 1, where K + 1 is the total number of received blocks. 2. ${{Phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offset}\mspace{14mu} {estimates}\mspace{14mu} {for}\mspace{14mu} {the}\mspace{14mu} K^{th}\mspace{14mu} {block}\mspace{14mu} {of}\mspace{14mu} {symbols}},{x_{k} = \begin{bmatrix} \theta_{K} \\ \omega_{K} \end{bmatrix}}$ 3. Noise covariance matrix of K^(th) block, P_(K) Outputs: 1. ${{Initial}\mspace{14mu} {coarse}\mspace{14mu} {estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}},{x_{0} = \begin{bmatrix} \theta_{0} \\ \omega_{0} \end{bmatrix}}$ 2. Noise covariance matrix for the first block, P₀ BEGIN 1. Reverse the order of received symbols. r_(k,n) ← r_(K−k,−n) 2. Compute the initial phase and frequency offset estimate for reverse processing. $\left. x_{0}\leftarrow\begin{bmatrix} \theta_{K} \\ {- \omega_{K}} \end{bmatrix} \right.$ 3. Compute the noise covariance matrix P₀ for reverse processing. P₀ ← P_(K) END

The last stage 408, reverse phase and frequency offset tracking, processes the symbols in the reverse direction. The fourth stage 408 is described in pseudocode below as Algorithm 4.

ALGORITHM 4 - Reverse Phase and Frequency Offset Tracking Inputs: 1. k^(th) block of received noisy QAM symbols: r_(k,−L), . . . , r_(k,0), . . . r_(k,+L) : k ≥ 1 2. ${{Initial}\mspace{14mu} {coarse}\mspace{14mu} {estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}},{x_{0} = \begin{bmatrix} \theta_{0} \\ \omega_{0} \end{bmatrix}}$ 3. Covariance Matrix R 4. Noise covariance matrix for the first block, P₀ 5. Hard decision trust threshold, Γ ∈ [−∞, 0] Outputs: 1. Transmitted clean symbol block s_(k,n) corresponding to r_(k,n) BEGIN 1. Run steps 1 to 8 of Algorithm 2. 2. Posterior correction on the non-overlapping symbols in the k^(th) block (Step 512 of FIG. 5), using the estimated phase and frequency offset values, followed by hard decision. s_(k,n) = H(r_(k,n) exp −j(θ_(k) + nω_(k))) : n ∈ [−(V − 1), V − 1] END

Derivations of certain aspects of the algorithms described above are now presented.

Derivation 1—Phase and Frequency Offsets Estimation and Correction on the Zeroth Block of Received QAM Symbols

Inputs: 1. 0^(th) block of 2L + 1 received noisy M-QAM symbols: r_(0,−L), . . . , r_(0,0), . . . r_(0,+L) 2. Theoretical maximum phase offset range for error free hard decision on a QAM symbol assuming no frequency offset: (−θ_(MAX), θ_(MAX)) 3. Theoretical maximum frequency offset range assuming no phase offset: (−ω_(MAX), ω_(MAX)) ${{where}\mspace{14mu} \omega_{MAX}} = \frac{\theta_{MAX}}{L}$ 4. Actual maximum frequency offset range assuming no phase offset: (−f × ω_(MAX), f × ω_(MAX)) : f ∈ (0, 1) ${{Outputs}\text{:}\mspace{14mu} {Initial}\mspace{14mu} {coarse}\mspace{14mu} {estimates}\mspace{14mu} {of}\mspace{14mu} {carrier}\mspace{14mu} {phase}\mspace{14mu} {and}\mspace{14mu} {frequency}\mspace{14mu} {offsets}},{x_{0} = \begin{bmatrix} \theta_{0} \\ \omega_{0} \end{bmatrix}}$

Derivation Outline:

-   -   Step 1. Estimate and apply a coarse phase offset on the received         symbol block such that a hard decision on the symbols in the         block after coarse phase offset correction is error free.     -   Step 2. Use the coarse phase offset corrected received symbols         and the corresponding hard decision symbols to estimate and then         correct for the frequency offset. This step also returns any         residual phase offset remaining in the block of symbols after         processing in step 1.     -   Step 3. Improve the phase offset estimate by adding the coarse         phase offset estimate obtained in step 1 and the residual phase         offset obtained in step 2.

The details of steps 1, 2 and 3 are now described.

Step 1: Coarse Phase Offset Estimation and Correction

Since the transmit QAM constellation has a square geometry, the range of coarse phase offset to be estimated reduces from [−180°, +180°) to [−45°, +45°).

The true phase offset can be any real number in the continuum between −45° to +45°. However, at this step the goal is not to estimate the true phase offset. A coarse phase estimate that results in error free hard decision suffices. This motivates conversion of the continuum [−45°, +45°) into a set of discrete values, with a common step size, Δθ, as shown in FIG. 8A, and as expressed here:

θ(i)

−45°+Δθ×i:i∈{0,1,2, . . . ,i _(LAST)},θ(i)∈[−45°,+45°)

Referring now to FIGS. 8A, 8B and 8C, referred to collectively as FIG. 8, diagrams are shown illustrating phase offset search space discretization in the zeroth block of received QAM symbols and zero error and maximum error scenarios. FIG. 8 includes three number lines, or phase grids, in which the value of the phase offset may vary between −45 degrees and +45 degrees. As shown in FIG. 8A, the search space for the phase offset in the zeroth block of received QAM symbols is discretized with a step size of Δθ. In FIG. 8B, which illustrates the best-case scenario, the true phase offset of the zeroth block of received QAM symbols is exactly equal to one of the discretized phase values in the discrete set θ(i) having a range [−45°, 45°), as shown. This results in zero error in the estimated value of the true phase offset. That is, the estimated phase has no error. On the other hand, the worst-case scenario is that the true phase offset lies half-way between two consecutive discrete phases in the range [−45°, 45°), say θ(i) and θ(i+1), as shown in FIG. 8C. In this case, the phase error is half of the step size, Δθ/2, which is the maximum possible error in the estimated value of the true phase offset. Therefore, the choice of Δθ should be such that even the worst-case phase estimation error results in an error free hard decision of the symbols.

The maximum supported frequency offset

${f \times \omega_{MAX}} \equiv {f \times \frac{\theta_{MAX}}{L}}$

implies that with a maximum residual phase offset error of Δθ/2, the phase of the last symbol in the block is

${\frac{\Delta \theta}{2} + {L \times \left( {f \times \frac{\theta_{MAX}}{L}} \right)}} = {\frac{\Delta \theta}{2} + {f \times {\theta_{MAX}.}}}$

For error free hard decisions, the phase needs to be less than the maximum supported phase offset, θ_(MAX) as listed in Table 1, as expressed here:

${\frac{\Delta \theta}{2} + {f \times \theta_{MAX}}} < \theta_{MAX}$

This leads to the condition imposed on the selected phase grid step size, as expressed here:

Δθ<2(1−f)θ_(MAX)

The coarse phase offset estimate is then obtained as described in Steps 3 and 4 of Algorithm 1, which are reproduced here.

Compute a figure of merit, g(i), for all candidate phase values θ(i) as follows:

FOR All i∈{0, 1, 2, . . . , i_(LAST)}

Apply phase −θ(i) to all symbols in the block: r_(0,n)←r_(0,n)e^(−jθ) ⁰ : n∈[−L, +L]

Apply hard decision: H(r_(0,n))=h_(n)(i): n∈[−L, +L]

Compute RMS error metric:

${g(i)} = \sqrt{\frac{\sum_{n = {- L}}^{+ L}{{r_{0,n} - {h_{n}(i)}}}^{2}}{{2L} + 1}}$

END FOR

Initial phase estimate is the candidate phase with minimum RMS Error: θ₀←θ(l): g(l)=min {g(i)}_(i=0) ^(i) ^(LAST)

Step 2: Correct the received symbols for the estimated phase offset estimate θ₀ obtained in Step 1 above to get:

r _(0,n) ←r _(0,n) e ^(−jθ) ⁰ :n∈[−L,+L]

Apply hard decision on the resultant symbols and obtained resultant clean symbols as follows:

H(r _(0,n))=h _(n) :n∈[−L,+L]

The phase corrected received symbols r_(0,n) and corresponding hard decision symbols h_(n) are used to compute the frequency offset and residual phase offset as described in Algorithm 1 (Steps 6 and 7) reproduced below. The derivation of these estimates is a special case of Derivation 2 with Hard Decision Trust Weights ρ_(0,n) set to 1 for all symbols in the block.

Frequency offset estimate for the zeroth block of symbols is:

$\left. \omega_{0}\leftarrow{{- \frac{b}{2a}} - \frac{\sqrt{b^{2} - {4ac}}}{2a}} \right.$

where

$\mspace{20mu} {{a\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{3n^{3}r_{0,n}h_{n}^{*}\alpha_{3}}}}},\mspace{20mu} {b\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{2n^{2}r_{0,n}h_{n}^{*}\alpha_{2}}}}},\mspace{20mu} {c\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{{nr}_{0,n}h_{n}^{*}\alpha_{1}}}}},{\alpha_{1}\overset{\bigtriangleup}{=}{\frac{15}{2}j\; {\omega_{MAX}^{- 2}\left( {{{- 21}\omega_{MAX}^{- 3}\sin \; \omega_{MAX}} + {21\omega_{MAX}^{- 2}\cos \; \omega_{MAX}} + {8\omega_{MAX}^{- 1}\sin \; \omega_{MAX}} - {\cos \; \omega_{MAX}}} \right)}}}}$ $\mspace{20mu} {\alpha_{2}\overset{\bigtriangleup}{=}{\frac{15}{2}\; {\omega_{MAX}^{- 3}\left( {{{- 3}\omega_{MAX}^{- 2}\sin \; \omega_{MAX}} + {3\omega_{MAX}^{- 1}\cos \; \omega_{MAX}} + {\sin \; \omega_{MAX}}} \right)}}}$ $\alpha_{3}\overset{\bigtriangleup}{=}{\frac{35}{2}j\; {\omega_{MAX}^{- 4}\left( {{{- 15}\omega_{MAX}^{- 3}\sin \; \omega_{MAX}} - {15\omega_{MAX}^{- 2}\cos \; \omega_{MAX}} - {6\omega_{MAX}^{- 1}\sin \; \omega_{MAX}} + {\cos \; \omega_{MAX}}} \right)}}$

Residual phase offset estimate for the zeroth block is: arg(Σ_(n=−L) ^(+L) r_(0,n)h_(n)*e^(−jω) ⁰ ^(n))

Step 3: Return the corrected phase offset estimate for the zeroth block as the sum of the coarse phase offset estimate from Step 1 and the residual phase offset estimate from Step 2 above.

$\left. \theta_{0}\leftarrow{\theta_{0} + {\arg \left( {\sum\limits_{n = {- L}}^{+ L}{r_{0,n}h_{n}^{*}e^{{- j}\omega_{0}n}}} \right)}} \right.$

Derivation 2—Cubic Polynomial Approximation of the Complex Exponential

This section derives the expressions for the coefficients of the cubic polynomial approximation of the complex exponential e^(−jω) in the domain ω∈[−ω₀, +ω₀] for a given parameter ω₀>0. Note that the letters in boldface denote vectors and upper-case letters in boldface denote matrices.

Start with the approximation equation:

exp−jω=α ₀+α₁ω+α₂ω²+α₃ω³ +h(ω)=w ^(T) α+h(ω)

where ω∈[−ω₀, +ω₀] is the domain of approximation, h(ω) is the approximation error, α_(m∈[0,3]) are the unknown coefficients of the cubic polynomial, α

[α₀ α₁α₂ α₃]^(T) and w

[1 ω ω² ω³]^(T).

Optimal coefficients minimize the energy of the approximation error h(co) integrated over the domain [−ω₀, +ω₀].

${\Lambda\alpha}\overset{\bigtriangleup}{=}{{\frac{1}{2\omega_{0}}{\underset{- \omega_{0}}{\int\limits^{+ \omega_{0}}}{{{h(\omega)}}^{2}d\; \omega}}} = {{\frac{1}{2\omega_{0}}{\underset{- \omega_{0}}{\int\limits^{+ \omega_{0}}}{{{e^{{- j}\; \omega} - {w^{T}\alpha}}}^{2}d\; \omega}}} = {\frac{1}{2\omega_{0}}{\underset{- \omega_{0}}{\int\limits^{+ \omega_{0}}}{\left( {1 + {\alpha^{H}{ww}^{T}\alpha} - {e^{j\; \omega}w^{T}\alpha} - {e^{{- j}\; \omega}\alpha^{H}w}} \right)d\; \omega}}}}}$ $\mspace{20mu} {\alpha_{OPTIMAL}\overset{\bigtriangleup}{=}{\arg \; {\min_{a}{\Lambda (\alpha)}}}}$

To find the α that minimizes the cost function Λ(α), find the gradient vector of Λ(α) with respect to α and set that equal to the zero vector.

${\nabla_{\alpha}{\Lambda (\alpha)}} = {{\frac{1}{2\omega_{0}}{\int\limits_{- \omega_{0}}^{+ \omega_{0}}{{\nabla_{\alpha}\left( {1 + {\alpha^{H}ww^{T}\alpha} - {e^{j\omega}w^{T}\alpha} - {e^{{- j}\omega}\alpha^{H}w}} \right)}d\; \omega}}} = {{\frac{1}{2\omega_{0}}{\int\limits_{- \omega_{0}}^{+ \omega_{0}}{\left( {0 + {W\; \alpha} - 0 - {e^{{- j}\omega}w}} \right)d\omega}}} = 0}}$ $\mspace{20mu} {{where},\mspace{20mu} {W\overset{\bigtriangleup}{=}\begin{bmatrix} 1 & \omega & \omega^{2} & \omega^{3} \\ \omega & \omega^{2} & \omega^{3} & \omega^{4} \\ \omega^{2} & \omega^{3} & \omega^{4} & \omega^{5} \\ \omega^{3} & \omega^{4} & \omega^{5} & \omega^{6} \end{bmatrix}}}$ $\mspace{20mu} {{Thus},\mspace{20mu} {{\int\limits_{- \omega_{0}}^{+ \omega_{0}}{W\alpha d\omega}} = {\int\limits_{- \omega_{0}}^{+ \omega_{0}}{e^{{- j}\omega}wd\omega}}}}$

Integrate and expand the matrices and vectors to get:

${\begin{bmatrix} \omega_{0} & 0 & {\omega_{0}^{3}/3} & 0 \\ 0 & {\omega_{0}^{3}/3} & 0 & {\omega_{0}^{5}/5} \\ {\omega_{0}^{3}/3} & 0 & {\omega_{0}^{5}/5} & 0 \\ 0 & {\omega_{0}^{5}/5} & 0 & {\omega_{0}^{7}/7} \end{bmatrix}\left\lbrack \begin{matrix} \alpha_{0} \\ \alpha_{1} \\ \alpha_{2} \\ \alpha_{3} \end{matrix} \right\rbrack} = \left\lbrack \begin{matrix} {\sin \; \omega_{0}} \\ {j\left( {{\omega_{0}\cos \omega_{0}} - {\sin \; \omega_{0}}} \right)} \\ {{2\omega_{0}\cos \; \omega_{0}} + {\left( {\omega_{0}^{2} - 2} \right)\sin \; \omega_{0}}} \\ {j\left\{ {{\left( {\omega_{0}^{3} - {6\omega_{0}}} \right)\cos \; \omega_{0}} + {\left( {{{- 3}\omega_{0}^{2}} + 6} \right)\sin \; \omega_{0}}} \right\}} \end{matrix} \right\rbrack$ ${{Or}\begin{bmatrix} \alpha_{0} \\ \alpha_{1} \\ \alpha_{2} \\ \alpha_{3} \end{bmatrix}} = {\begin{bmatrix} \omega_{0} & 0 & {\omega_{0}^{3}/3} & 0 \\ 0 & {\omega_{0}^{3}/3} & 0 & {\omega_{0}^{5}/5} \\ {\omega_{0}^{3}/3} & 0 & {\omega_{0}^{5}/5} & 0 \\ 0 & {\omega_{0}^{5}/5} & 0 & {\omega_{0}^{7}/7} \end{bmatrix}^{- 1}\begin{bmatrix} {\sin \; \omega_{0}} \\ {j\left( {{\omega_{0}\cos \omega_{0}} - {\sin \; \omega_{0}}} \right)} \\ {{2\omega_{0}\cos \; \omega_{0}} + {\left( {\omega_{0}^{2} - 2} \right)\sin \; \omega_{0}}} \\ {j\left\{ {{\left( {\omega_{0}^{3} - {6\omega_{0}}} \right)\cos \; \omega_{0}} + {\left( {{{- 3}\omega_{0}^{2}} + 6} \right)\sin \; \omega_{0}}} \right\}} \end{bmatrix}}$

which yields the desired optimal coefficients of the cubic polynomial that approximates the complex exponential:

$\mspace{20mu} \left. \alpha_{0}\leftarrow{\frac{3}{2}{\omega_{0}^{- 1}\left( {{{- \sin}\; \omega_{0}} - {5\omega_{0}^{- 1}\cos \omega_{0}} + {5\omega_{0}^{- 2}\sin \omega_{0}}} \right)}} \right.$ $\left. \alpha_{1}\leftarrow{\frac{15}{2}j{\omega_{0}^{- 2}\left( {{{- 2}1\omega_{0}^{- 3}\sin \omega_{0}} + {21\omega_{0}^{- 2}\cos \omega_{0}} + {8\omega_{0}^{- 1}\sin \omega_{0}} - {\cos \omega_{0}}} \right)}} \right.$ $\mspace{20mu} \left. \alpha_{2}\leftarrow{\frac{15}{2}{\omega_{0}^{- 3}\left( {{{- 3}\omega_{0}^{- 2}\sin \omega_{0}} + {3\omega_{0}^{- 1}\cos \omega_{0}} + {\sin \omega_{0}}} \right)}\alpha_{3}}\leftarrow{\frac{35}{2}j{\omega_{0}^{- 4}\left( {{{- 1}5\omega_{0}^{- 3}\sin \omega_{0}} - {15\omega_{0}^{- 2}\cos \omega_{0}} - {6\omega_{0}^{- 1}\sin \omega_{0}} + {\cos \omega_{0}}} \right)}} \right.$

Table 2 above lists, as an example, values of the coefficients produced by the described cubic polynomial approximation embodiment for different M-QAM constellations with block size of 17, i.e., L=8.

Referring now to FIG. 7, a graph illustrating a comparison of approximation error of the complex exponential when using the coefficients produced by the described cubic polynomial approximation embodiments (e.g., described with respect to Derivation 2) versus using the conventional quadratic and third order Taylor series approximations is shown. The conventional Taylor quadratic approximation is expressed as e^(−jω)≈1−jω−0.5ω². The conventional Taylor cubic approximation is expressed as

${e^{{- j}\omega} \approx {1 - {j\omega} - \frac{\omega^{2}}{2} + \frac{j\omega^{3}}{6}}}.$

In contrast, the cubic polynomial approximation according to embodiments described herein is expressed as e^(−jω)≈α₀+α₁ω+α₂ω²+α₃ω³, and expressions for the coefficients are described above with respect to Algorithm 1 and Derivation 2. With respect to FIG. 7, approximation error is specified as:

${{Error}\mspace{14mu} ({dB})}\overset{\bigtriangleup}{=}{20{\log \left\lbrack \sqrt{\frac{1}{2\omega_{0}}{\int_{- \omega_{0}}^{+ \omega_{0}}{{{e^{{- j}\omega} - {f(\omega)}}}^{2}d\omega}}} \right\rbrack}}$

where e^(−jω) is the complex exponential to be approximated, ƒ(ω) is the chosen polynomial approximation function, and [−ω₀, +ω₀] is the domain of approximation, where ω₀(%)

ω₀ (degrees)×100/360.

Derivation 3—Phase and Frequency Offset Error Estimates for Blocks of Symbols Past the Zeroth Block

This section derives the expressions for the phase and frequency offset errors used in Algorithm 2. The expressions are reproduced below:

Frequency Offset Error:

$\mspace{20mu} \left. {\delta\omega}_{k}\leftarrow{{- \frac{b}{2a}} - \frac{\sqrt{b^{2} - {4ac}}}{2a}} \right.$   where $\mspace{20mu} {a\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{3n^{3}\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{3}}}}}$ $\mspace{20mu} {b\overset{\bigtriangleup}{=}{{Re}{\sum\limits_{n = {- L}}^{+ L}{2n^{2}\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{2}}}}}$ $\mspace{20mu} {c\overset{\bigtriangleup}{=}{{Re}{\sum\limits_{n = {- L}}^{+ L}{n\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{1}}}}}$ $\alpha_{1}\overset{\bigtriangleup}{=}{\frac{15}{2}j\; {\omega_{MAX}^{- 2}\left( {{{- 21}\omega_{MAX}^{- 3}\sin \; \omega_{MAX}} + {21\omega_{MAX}^{- 2}\cos \; \omega_{MAX}} + {8\omega_{MAX}^{- 1}\sin \; \omega_{MAX}} - {\cos \; \omega_{MAX}}} \right)}}$ $\mspace{20mu} {\alpha_{2}\overset{\bigtriangleup}{=}{\frac{15}{2}{\omega_{MAX}^{- 3}\left( {{{- 3}\omega_{MAX}^{- 2}\sin \; \omega_{MAX}} + {3\omega_{MAX}^{- 1}\cos \; \omega_{MAX}\sin \; \omega_{MAX}}} \right)}}}$ $\alpha_{3}\overset{\bigtriangleup}{=}{\frac{35}{2}j\; {\omega_{MAX}^{- 4}\left( {{{- 15}\omega_{MAX}^{- 3}\sin \; \omega_{MAX}} - {15\omega_{MAX}^{- 2}\cos \; \omega_{MAX}} - {6\omega_{MAX}^{- 1}\sin \; \omega_{MAX}} + {\cos \; \omega_{MAX}}} \right)}}$

Phase Offset Error:

$\left. {\delta \theta_{k}}\leftarrow{\arg \left( {\sum\limits_{n = {- L}}^{+ L}{\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}e^{{- {j{({\delta \omega_{k}})}}}n}}} \right)} \right.$

Refer to Algorithm 2 for the definitions of the terms appearing in these expressions.

Start by defining the cost function that must be minimized by selecting appropriate values for the phase offset error and frequency offset error.

${\Lambda_{\min}\left( {{\delta\omega}_{k},{{\delta\theta}_{k};\rho}} \right)}\overset{\bigtriangleup}{=}{{\sum\limits_{n = {- 1}}^{+ L}{\rho_{k,n}{{{r_{k,n}^{-}\exp} - {j\left( {{\delta\theta}_{k} + {n\; {\delta\omega}_{k}}} \right)} - h_{k,n}^{-}}}^{2}}} = {\sum\limits_{n = {- 1}}^{+ L}{\rho_{k,n}\left( {{r_{k,n}^{-}}^{2} + {h_{k,n}^{-}}^{2} - {2\; {{Re}\left( {{r_{k,n}^{-}h_{k,n}^{-}\exp} - {j\left( {{\delta\theta}_{k} + {n\; {\delta\omega}_{k}}} \right)}} \right)}}} \right)}}}$

where ρ is the “hard decision trust” vector, [ρ_(−k,L) . . . ρ_(k,+L)]^(T):ρ_(k,n) ∈{0, 1}

Minimizing Λ_(min) (δω_(k), δθ_(k); ρ) by choosing appropriate δω_(k), δθ_(k) is equivalent to minimizing

$\sum\limits_{n = {- L}}^{+ L}{{- 2}{{Re}\left( {{\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\exp} - {j\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}} \right)}}$

because |r_(k,n) ⁻|²+|h_(k,n) ⁻|² are independent of δω_(k), δθ_(k).

Therefore, the task is the same as that of maximizing

${\Lambda_{\max}\left( {{\delta \omega_{k}},{{\delta\theta}_{k};\rho}} \right)}\overset{\bigtriangleup}{=}{\sum\limits_{n = {- L}}^{+ L}{{Re}\left( {{\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\exp} - {j\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}} \right)}}$

by choosing appropriate δω_(k), δθ_(k).

Setting the partial derivative of Λ_(max)(δω_(k), δθ_(k); φ with respect to δω_(k) yields:

$\frac{\partial{\Lambda_{\max}\left( {{\delta \omega_{k}},{\delta\theta}_{k},{;\rho}} \right)}}{\partial\left( {\delta \omega_{k}} \right)} = {{{\sum\limits_{n = {- L}}^{+ L}{{Re}\left( {\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\frac{\partial\left( {\exp - {j\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}} \right)}{\partial\left( {\delta \omega_{k}} \right)}} \right)}} \cong {\sum\limits_{n = {- L}}^{+ L}{{Re}\left( {\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\frac{{\partial\left( {\alpha_{0} + {\alpha_{1}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)} + {\alpha_{2}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}^{2} + {\alpha_{3}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}^{3}} \right)}\quad}{{\partial\left( {\delta \omega_{k}} \right)}\quad}} \right)}}} = 0}$

The second expression uses the cubic polynomial approximation of the complex exponential. Simplify this further by ignoring all the terms that involve the product δθ_(k)δω_(k) or other higher order products of the phase offset error and frequency offset error.

Then

${\sum\limits_{n = {- L}}^{+ L}{{Re}\left( {\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\frac{\partial\left( {\alpha_{0} + {\alpha_{1}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)} + {\alpha_{2}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}^{2} + {\alpha_{3}\left( {{\delta \theta_{k}} + {n\delta \omega_{k}}} \right)}^{3}} \right)}{\partial\left( {\delta \omega_{k}} \right)}} \right)}} = 0$   is  approximately  the  same  as ${\sum\limits_{n = {- L}}^{+ L}{{Re}\left( {\rho_{k,n}r_{k,n}^{-}h_{k,n}^{-}\frac{\partial\left( {\alpha_{0} + {\alpha_{1}\left( {n\delta \omega_{k}} \right)} + {\alpha_{2}\left( {n\delta \omega_{k}} \right)}^{2} + {\alpha_{3}\left( {n\delta \omega_{k}} \right)}^{3}} \right)}{\partial\left( {\delta \omega_{k}} \right)}} \right)}} = 0$

This results in a quadratic equation in δω_(k) which can be solved to yield two solutions. The solution for which the second derivative of Λ_(max)(δω_(k), δθ_(k); φ is negative is the estimate for the frequency offset error, and is given by:

$\left. {\delta \omega_{k}}\leftarrow{{- \frac{b}{2a}} - \frac{\sqrt{b^{2} - {4ac}}}{2a}} \right.$ where $a\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{3n^{3}\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{3}}}}$ $b\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{2n^{2}\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{2}}}}$ $c\overset{\bigtriangleup}{=}{{Re}{\sum_{n = {- L}}^{+ L}{n\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}\alpha_{1}}}}$

Once the frequency offset error estimate is obtained, phase offset estimate error is computed as:

$\left. {\delta \theta_{k}}\leftarrow{\arg \left( {\sum\limits_{n = {- L}}^{+ L}{\rho_{k,n}{r_{k,n}^{-}\left( h_{k,n}^{-} \right)}^{*}e^{{- {j{({\delta \omega_{k}})}}}n}}} \right)} \right.$

The described carrier phase and frequency tracking system and method embodiments may enjoy the following advantages relative to conventional systems. First, the carrier phase and frequency tracking system may be more robust against random noise in received QAM modulated symbols. Second, the carrier phase and frequency tracking system may have a higher range of maximum frequency offset that can be tracked. Third, the carrier phase and frequency tracking system may acquire and maintain stable constellation lock, i.e., obtain a good initial coarse estimate of the phase and frequency offsets, in a fewer number of received QAM symbols. More specifically, embodiments described here may provide significant performance improvements over conventional systems, such as PLL-based carrier phase and frequency trackers, in terms of the ability to recover QAM symbols without error, the carrier frequency offset estimation bias in no-noise conditions and under noisy conditions with various signal to noise ratios (SNR), the standard deviation and the RMS error in the estimated carrier frequency offset under various SNR conditions for QAM signals with different constellation sizes, e.g., from M=4 to 4096.

Referring now to FIG. 9, a block diagram of an example embodiment for electronic components that can be used to implement a user equipment device or base station including the functions and operational features described for performing carrier phase and frequency tracking for M-QAM demodulation is shown. For the example embodiment 600 shown in FIG. 9, one or more processors 608 communicate with other components through system bus interconnect 602. For example, the one or more processors 608 communicate with input/output (I/O) circuitry 604 and transmit/receive (TX/RX) circuitry 606 through the system bus interconnect 602. Additional circuitry can also be included such as power supply circuitry and/or other desired circuitry. The TX/RX circuitry 606 provides one or more cellular radios that are coupled to one or more antennas 614 through which the TX/RX circuitry transmits and receives RF (radio frequency) signals. The antennas 614 may comprise multiple physical antenna elements to accomplish beamforming of transmit and receive beams. The antennas 614 may be controlled by the processors 608 and/or the TX/RX circuitry 606. The system 600 may perform transmit and receive beamforming in the digital domain, in the analog domain, or in a combination of the two using the antennas 614. The I/O circuitry 604 provides one or more interfaces for users, such as graphical user interfaces, and/or connections to peripheral devices (e.g., displays, keyboards, mice, point device, and/or other I/O peripheral devices). The memory 610 is also coupled to the system bus interconnect 602 and can be used by the one or more processors 608 to load and/or store instructions, data, and/or other information during operation, such as operations described with respect to FIG. 9 and the other Figures to accomplish carrier phase and frequency tracking for M-QAM demodulation. One or more data storage device(s) 612 are also connected to the system bus interconnect 602 and can store software or program instructions and/or other desired data or information for the operation of the processing system. For example, computer-readable instructions stored in the data storage devices 612 can be loaded within the memory 610 and then executed by the processor(s) 608 to carry out the described functions to accomplish carrier phase and frequency tracking for M-QAM demodulation.

It is noted that different and/or additional components from those depicted in FIG. 9 could also be used to implement one or more radio systems for the described embodiments while still taking advantage of the described techniques. It is further noted that the system bus interconnect 602 can be implemented as multiple interconnection buses with or without additional intervening circuitry such as routing or switching circuitry. Further, the processor(s) 608 can be implemented using one or more programmable integrated circuits including controllers, microcontrollers, microprocessors, hardware accelerators, configurable logic devices (e.g., field programmable gate arrays), and/or other programmable integrated circuits that are programmed to carry out the described functions. Further, the one or more processor(s) 608 can execute instructions stored in a non-transitory tangible computer-readable medium to perform the described functions. In addition, data storage device(s) 612 can be implemented as any desired non-transitory tangible medium that stores data, such as data storage devices, FLASH memory, random access memory, read only memory, programmable memory devices, reprogrammable storage devices, hard drives, floppy disks, DVDs, CD-ROMs, and/or any other non-transitory data storage mediums. The memory 610 can be any data storage medium configured to maintain data storage when powered. Other variations could may be implemented.

It is still further noted that the functional blocks, components, systems, devices, and/or circuitry described herein can be implemented using hardware, software, or a combination of hardware and software. For example, the disclosed embodiments can be implemented using one or more programmable integrated circuits that are programmed to perform the functions, tasks, methods, actions, and/or other operational features described herein for the disclosed embodiments. The one or more programmable integrated circuits can include, for example, one or more processors and/or PLDs (programmable logic devices). The one or more processors can be, for example, one or more central processing units (CPUs), controllers, microcontrollers, microprocessors, hardware accelerators, ASICs (application specific integrated circuit), and/or other integrated processing devices. The one or more PLDs can be, for example, one or more CPLDs (complex programmable logic devices), FPGAs (field programmable gate arrays), PLAs (programmable logic array), reconfigurable logic circuits, and/or other integrated logic devices. Further, the programmable integrated circuits, including the one or more processors, can be configured to execute software, firmware, code, and/or other program instructions that are embodied in one or more non-transitory tangible computer-readable mediums to perform the functions, tasks, methods, actions, and/or other operational features described herein for the disclosed embodiments. The programmable integrated circuits, including the one or more PLDs, can also be programmed using logic code, logic definitions, hardware description languages, configuration files, and/or other logic instructions that are embodied in one or more non-transitory tangible computer-readable mediums to perform the functions, tasks, methods, actions, and/or other operational features described herein for the disclosed embodiments. In addition, the one or more non-transitory tangible computer-readable mediums can include, for example, one or more data storage devices, memory devices, flash memories, random access memories, read only memories, programmable memory devices, reprogrammable storage devices, hard drives, floppy disks, DVDs, CD-ROMs, and/or any other non-transitory tangible computer-readable mediums. Other variations can also be implemented while still taking advantage of the new frame structures described herein.

Referring now to FIG. 10, a flowchart illustrating a method for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M-QAM symbol map is shown. Operation begins at block 1002.

At block 1002, a receiver receives the zeroth/initial block of noisy M-QAM symbols modulated by a transmitter using an M-QAM symbol map (e.g., 4-QAM, 16-QAM, 256-QAM, etc.). Operation continues to block 1004.

At block 1004, a grid of discrete candidate phase offset values is created. The grid may be created by generating a sequence of values in increments of a step size within a search range, e.g., −45 degrees to +45 degrees. The step size may be computed based on a selectable fraction of a maximum supported frequency offset. The maximum supported frequency offset may be determined by a maximum supported phase offset for the M-QAM symbol map, e.g., as determinable from Table 1, and by the block length of the zeroth/initial block of M-QAM symbols. Operation continues to block 1006.

At block 1006, for each candidate phase offset value in the grid created at block 1004, the following is performed. First, the receiver applies the candidate phase offset value to each M-QAM symbol in the zeroth/initial block. Next, the receiver applies a respective hard decision from the symbol map to each of the M-QAM symbols to which the candidate phase offset value has been applied. Then, the receiver computes a figure of merit for the candidate phase offset value based on the M-QAM symbols to which the candidate phase offset value has been applied and their respective hard decisions. In one embodiment, the figure of merit is a root mean square (RMS) error across the M-QAM symbols to which the candidate phase offset value has been applied relative to their respective hard decisions. Operation continues to block 1008.

At block 1008, the receiver selects the discrete candidate phase offset value from the grid having the best figure of merit (e.g., minimum RMS error) as an initial phase offset estimate. Operation continues to block 1012.

At block 1012, the receiver computes an initial frequency offset estimate using the M-QAM symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function. In one embodiment, the approximation of the complex exponential function is a cubic polynomial whose domain of approximation is restricted to a set of predetermined values that depend upon a maximum supported carrier frequency offset for the M-QAM symbol map that depends upon the value of M and in which the coefficients of the cubic polynomial are chosen to minimize a mean squared error approximation error averaged over the restricted domain of approximation. Operation continues to block 1014.

At block 1014, the receiver refines the initial phase offset using the initial frequency offset estimate, the updated M-QAM symbols, and their respective hard decisions.

Referring now to FIG. 11, a flowchart illustrating a method for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M-QAM symbol map is shown. Operation begins at block 1102.

At block 1102, a receiver receives a series of blocks of noisy M-QAM symbols modulated by a transmitter using an M-QAM symbol map (e.g., 4-QAM, 16-QAM, 256-QAM, etc.). The blocks are segregated by the receiver as overlapping blocks of a particular size and having a number of symbols of overlap. The block size and number of symbols of overlap is selectable. Operation continues to block 1104.

At block 1104, for each M-QAM symbol of a current block, the following operations are performed by the receiver. First, the receiver determines a first hard decision symbol of the symbol map closest to the M-QAM symbol. Next, the receiver determines a second hard decision symbol of the symbol map second closest to the M-QAM symbol. Then, the receiver computes a parameter based on a ratio of first and second distances. The first distance is between the M-QAM symbol and the first hard decision symbol, and the second distance is between the M-QAM symbol and the second hard decision symbol. Finally, the receiver sets a binary trust weight for the M-QAM symbol based on a comparison of the computed parameter with a threshold. Operation continues to block 1106.

At block 1106, the receiver uses the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block. The phase offset error may be computed using an approximation of the complex exponential function as described above, e.g., at block 1012. Each M-QAM symbol having a zero-valued binary trust weight does not contribute to the computation of the phase and frequency offset errors, e.g., because the binary trust weight is a multiplicative factor of a product, and the product is an addend of a summation. The computation of the frequency offset error also uses the received M-QAM symbols of the previous block corrected by predicted phase and frequency offsets of the previous block, hard decisions on the corrected received M-QAM symbols of the previous block, the binary trust weights for the corrected received M-QAM symbols of the previous block, and the block size. The computation of the phase offset error also uses the approximation of the complex exponential. Operation continues to block 1108.

At block 1108, the receiver computes a noise covariance matrix of the previous block using the received M-QAM symbols of the previous block corrected by predicted phase and frequency offsets of the previous block, hard decisions on the corrected received M-QAM symbols of the previous block, the binary trust weights for the corrected received M-QAM symbols of the previous block, and the block size. The receiver than predicts a noise covariance matrix of the current block using the computed noise covariance matrix of the previous block. Operation continues to block 1112.

At block 1112, the receiver computes the Kalman gain matrix for the current block using the predicted noise covariance matrix of the current block and a covariance matrix, e.g., covariance matrix R of Algorithm 2. Operation continues to block 1114.

At block 1114, the receiver estimates the phase offset and frequency offset of the current block using the predicted phase and frequency offsets of the current block, the computed phase and frequency offset errors of the current block, and the computed Kalman gain matrix of the current block. Operation continues to block 1116.

At block 1116, the receiver performs the operations of blocks 1104 to 1114 on the symbols of multiple blocks of the series in a forward direction, and then performs the operations of blocks 1104 to 1114 on the symbols of multiple blocks of the series in a reverse direction to produce transmitted M-QAM symbols.

Further modifications and alternative embodiments of this invention will be apparent to those skilled in the art in view of this description. It will be recognized, therefore, that the present invention is not limited by these example arrangements. Accordingly, this description is to be construed as illustrative only and is for teaching those skilled in the art the manner of carrying out the invention. It is to be understood that the forms of the invention herein shown and described are to be taken as present embodiments. Various changes may be made in the implementations and architectures. For example, equivalent elements may be substituted for those illustrated and described herein, and certain features of the invention may be utilized independently of the use of other features, all as would be apparent to one skilled in the art after having the benefit of this description of the invention. 

1. A method for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map, comprising: creating a grid of discrete candidate phase offset values; for each candidate phase offset value in the grid: applying the candidate phase offset value to each of the M-QAM symbols; applying a respective hard decision from the symbol map to each of the candidate phase offset value-applied M-QAM symbols; and computing a figure of merit for the candidate phase offset value based on the candidate phase offset value-applied M-QAM symbols and their respective hard decisions; selecting the discrete candidate phase offset value from the grid having the best figure of merit as an initial phase offset estimate; and computing an initial frequency offset estimate using the M-QAM symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function.
 2. The method of claim 1, wherein said creating a grid of discrete candidate phase offset values comprises: generating a sequence of values in increments of a step size within a search range; and wherein the step size is computed based on a selectable fraction of a maximum supported frequency offset by the initial block of received M-QAM symbols.
 3. The method of claim 2, wherein the maximum supported frequency offset by the initial block of received M-QAM symbols is determined by a maximum supported phase offset for the M-QAM symbol map and the block length of the initial block of received M-QAM symbols.
 4. The method of claim 2, wherein the search range is −45 degrees to +45 degrees.
 5. The method of claim 1, wherein said computing a figure of merit comprises: computing a root mean square (RMS) error across the candidate phase offset value-applied M-QAM symbols relative to their respective hard decisions; and wherein the best figure of merit comprises the minimum RMS error.
 6. The method of claim 1, further comprising: refining the initial phase offset estimate using the initial frequency offset estimate, the updated M-QAM symbols, and their respective hard decisions.
 7. The method of claim 1, wherein the approximation of the complex exponential function comprises a cubic polynomial; wherein a domain of approximation of the complex exponential function is restricted to a set of pre-determined values that depends upon a maximum supported carrier frequency offset for the M-QAM symbol map that depends upon the value of M; and wherein the coefficients of the cubic polynomial are chosen to minimize a mean squared approximation error averaged over the restricted domain of approximation.
 8. The method of claim 1, wherein the initial phase and frequency offset estimates are made without reference to blocks of symbols previous in time to the initial block of received M-QAM symbols.
 9. A method for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map, comprising: for each M-QAM symbol of a current block, setting a binary trust weight for the M-QAM symbol based on comparison of a computed parameter with a threshold; and using the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block, wherein each of the M-QAM symbols having a zero-valued binary trust weight is non-contributory in the computation of the phase and frequency offset errors.
 10. The method of claim 9, further comprising: for each M-QAM symbol of the current block, computing the parameter based on a first hard decision symbol of the symbol map closest to the received M-QAM symbol and a second hard decision symbol of the symbol map second closest to the M-QAM symbol.
 11. The method of claim 10, wherein said computing the parameter is based on a ratio of: a first distance between the M-QAM symbol and the first hard decision symbol of the symbol map; and a second distance between the M-QAM symbol and the second hard decision symbol of the symbol map.
 12. The method of claim 9, further comprising: prior to said using the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block, computing a noise covariance matrix of the previous block using: received M-QAM symbols of the previous block corrected by predicted phase and frequency offsets of the previous block; hard decisions on the corrected received M-QAM symbols of the previous block; the binary trust weights for the corrected received M-QAM symbols of the previous block; and a size of each block; and predicting a noise covariance matrix of the current block using the computed noise covariance matrix of the previous block.
 13. The method of claim 12, further comprising: computing a Kalman gain matrix for the current block using the predicted noise covariance matrix of the current block and a covariance matrix; and estimating the phase offset and a frequency offset of the current block using: predicted phase and frequency offsets of the current block; the computed phase and frequency offset errors of the current block; and the computed Kalman gain matrix of the current block.
 14. The method of claim 9, wherein the phase offset error is computed using an approximation of the complex exponential function; wherein the approximation of the complex exponential function comprises a cubic polynomial; wherein a domain of approximation of the complex exponential function is restricted to a set of pre-determined values that depends upon a maximum supported carrier frequency offset for the M-QAM symbol map that depends upon the value of M; and wherein the coefficients of the cubic polynomial are chosen to minimize a mean squared approximation error averaged over the restricted domain of approximation.
 15. The method of claim 9, further comprising: performing the operations of claim 9 in a forward direction on received M-QAM symbols of a plurality of blocks of the series, followed by performing the operations of claim 9 in a reverse direction on the received M-QAM symbols of the plurality of blocks to produce transmitted M-QAM symbols for the received M-QAM symbols.
 16. The method of claim 9, wherein the blocks of the series are segregated into overlapping blocks; and wherein a number of symbols of overlap between consecutive blocks is selectable.
 17. The method of claim 9, wherein a size of the blocks is selectable.
 18. A non-transitory computer-readable medium having instructions stored thereon that when executed by a processor, cause the processor to perform operations of a method, comprising: the method is for determining coarse carrier phase and frequency offsets of an initial block of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map that includes the operations of: creating a grid of discrete candidate phase offset values; for each candidate phase offset value in the grid: applying the candidate phase offset value to each of the M-QAM symbols; applying a respective hard decision from the symbol map to each of the candidate phase offset value-applied M-QAM symbols; and computing a figure of merit for the candidate phase offset value based on the candidate phase offset value-applied M-QAM symbols and their respective hard decisions; selecting the discrete candidate phase offset value from the grid having the best figure of merit as an initial phase offset estimate; and computing an initial frequency offset estimate using the M-QAM symbols updated with the initial phase offset estimate, their respective hard decisions, and an approximation of the complex exponential function; or, the method is for tracking carrier phase and frequency offsets associated with a series of blocks of received symbols modulated using an M quadrature amplitude modulation (M-QAM) symbol map that includes the operations of: for each M-QAM symbol of a current block, setting a binary trust weight for the M-QAM symbol based on comparison of a computed parameter with a threshold; and using the binary trust weights to compute a phase offset error and a frequency offset error associated with the current block, wherein each of the M-QAM symbols having a zero-valued binary trust weight is non-contributory in the computation of the phase and frequency offset errors.
 19. The non-transitory computer-readable medium of claim 18, wherein said creating a grid of discrete candidate phase offset values comprises: generating a sequence of values in increments of a step size within a search range; and wherein the step size is computed based on a selectable fraction of a maximum supported frequency offset by the initial block of received M-QAM symbols.
 20. The non-transitory computer-readable medium of claim 18, the operations further comprising: for each M-QAM symbol of the current block, computing the parameter based on a first hard decision symbol of the symbol map closest to the received M-QAM symbol and a second hard decision symbol of the symbol map second closest to the M-QAM symbol. 